package DB.LinkedList;

/*
 *
 * 给定一个带头结点的单链表，实现一个链表调整的函数，调整后使得pivot比左边部分大，比右边部分小
 *
 * pivot = 4;
 * 输出
 *   0->2->4->9->6
 *
 *   解法一：
 *   借用一个数组，将链表中元素导入到数组中，在数组中进行partition过程，完成之后再把数组中的元素连接成栈
 *   时间空间复杂度：o(n)
 *
 *   解法二
 *   使用三个节点small，equal，big，记录pivot小的部分，等于的部分，和大于的部分
 *   使用一个变量p遍历，如遍历到比pivot小的节点时链接到small后面
 *   最后将三者连成一个链表
 *   问题：怎样处理相等的节点
 *   时间复杂度：o(n)，
 * */
public class ListPartition {


}
